
/**
 * 指定一个ESP8266操作一个开关，注意这并不是真正意义上的开关，这个函数只负责控制引脚的电平，不决定真实开关的状态。
 * @param {device} device 目标ESP8266开发板
 * @param {number} pin 开关所用到的引脚
 * 
 */
 function Switch(device,pin){
    /**
     * 将引脚拉高
     */
   this.high = function(){
        digitalWrite(pin,HIGH)
   } 
   
   /**
   * 将引脚拉高,并不能保证真实世界中的开关打开
   */
    this.on = function(){
        this.high()
    }

    /**
     * 将引脚拉低
     */
    this.low = function(){
        digitalWrite(pin,LOW)
    } 
    
    /**
    * 将引脚拉高,并不能保证真实世界中的开关打开
    */
    this.off = function(){
        this.low()
    }


    /**
     * 判断引脚的状态是否为高电平
     */
    this.isHigh = function(){
        return digitalRead(pin,device)==HIGH
      }

    /**
     * 判断引脚的状态是否开启
     */
    this.isOn = function(){
      return this.isHigh()
    }

    var command = new Command().add(Mode(pin,OUTPUT)).add(Write(pin,LOW)).build()
    sendCommand(command,device)
}